/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cr.ac.una.sive.managed;

import cr.ac.una.sive.entidad.RegistroPlacaEvento;
import cr.ac.una.sive.entidad.ReservacionEvento;
import cr.ac.una.sive.entidadLocal.HorarioReservacionEventoLocal;
import cr.ac.una.sive.entidadLocal.RegistroPlacaEventoLocal;
import cr.ac.una.sive.entidadLocal.ReservacionEventoLocal;
import cr.ac.una.sive.sessionbean.RegistroPlacaEventoFacadeLocal;
import cr.ac.una.sive.sessionbean.ReservacionEventoFacadeLocal;
import cr.ac.una.sive.vista.util.FacesUtils;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author claribel
 */
@ManagedBean
@RequestScoped
public class RegistroPlacaEventoFacadeManaged {
    @EJB(mappedName = "ejb/ReservacionEventoFacade")
    private ReservacionEventoFacadeLocal reservacionEventoFacade;

    @EJB(mappedName = "ejb/RegistroPlacaEventoFacade")
    private RegistroPlacaEventoFacadeLocal registroPlacaEventoFacade;

    
    private ArrayList<RegistroPlacaEventoLocal> listaPlacas = null;
   
    private String estado="inserta";

    public void setListaPlacas(ArrayList<RegistroPlacaEventoLocal> listaPlacas) {
        this.listaPlacas = listaPlacas;
    }
    
    
    
    private RegistroPlacaEventoLocal registroPlacaEventoLocal = new RegistroPlacaEventoLocal();

    public RegistroPlacaEventoLocal getRegistroPlacaEventoLocal() {
        return registroPlacaEventoLocal;
    }

    public void setRegistroPlacaEventoLocal(RegistroPlacaEventoLocal registroPlacaEventoLocal) {
        this.registroPlacaEventoLocal = registroPlacaEventoLocal;
    }
    /**
     * Creates a new instance of RegistroPlacaEventoFacadeManaged
     */
    public RegistroPlacaEventoFacadeManaged() {
    }
    
        public List getListaPlacas() { 
//       listaMarchamos = null;
        if (listaPlacas == null) { 
            ArrayList listaPlacas2 = new ArrayList(registroPlacaEventoFacade.findAll());
            
        listaPlacas = new ArrayList(); 
        RegistroPlacaEvento registroPlacaEvento; 
        for (int i = 0; i < listaPlacas2.size(); i++) { 
            registroPlacaEvento = (RegistroPlacaEvento) listaPlacas2.get(i); 
        listaPlacas.add(new RegistroPlacaEventoLocal(registroPlacaEvento)); 
        } 
        
        } //sort(); 
        return listaPlacas;
        
    }
        
         public void doNothing(){
    
    }
         
    public void guardar() {
        FacesContext context = FacesContext.getCurrentInstance();

        FacesMessage message = new FacesMessage();

        RegistroPlacaEvento registroPlacaEvento = new RegistroPlacaEvento();
        try {

            ReservacionEventoFacadeManaged reservacionEventoFacadeManaged = (ReservacionEventoFacadeManaged) FacesUtils.getManagedBean("reservacionEventoFacadeManaged");

            ReservacionEventoLocal reservacionEventoLocal = reservacionEventoFacadeManaged.getReservacionEventoLocal();

            registroPlacaEvento.setPlaca(registroPlacaEventoLocal.getPlaca());

            ReservacionEvento u = reservacionEventoFacadeManaged.obtenerReservacionEvento();
            registroPlacaEvento.setReservacionEvento(u);


            if (estado.equals("inserta")) {



                registroPlacaEventoFacade.edit(registroPlacaEvento);

                message.setSeverity(FacesMessage.SEVERITY_INFO);
                message.setSummary("Placa Insertada Correctamente");
                message.setSummary("Placa Insertada Correctamente");
                context.addMessage("Campos:save", message);
                this.listaPlacas = null;
            }
//             else if (estado.equals("modifica")) {
//                marchamoFacade.edit(marchamo);
//                message.setSeverity(FacesMessage.SEVERITY_INFO);
//                message.setSummary("Marchamo Modificado Correctamente");
//                message.setDetail("Marchamo Modificado Correctamente");
//                context.addMessage("Campos:save", message);
//                 this.exitoso = true;
//                this.estado = "inserta";
//            }

        } catch (Exception e) {
            message.setSeverity(FacesMessage.SEVERITY_INFO);
            message.setSummary(e.getMessage());
            message.setDetail(e.getMessage());
            context.addMessage("menssage_campos", message);
        }





    }
}
